/*if(strstr($HTTP_USER_AGENT,"Opera") && isset($jump)) {
header("Location: #$jump");
exit;
}*/
include_once("libs/db.inc");
include_once("libs/location.inc");
include_once("libs/global.inc");
include_once("libs/classes/fonts.class");
$fc = new fonts("libs/fonts.inc");
if(isset($jumpclip)) {
header("Location: $engine/clip.php?ret=".rawurlencode($ret));
exit;
}
include_once("libs/paragraph.inc");
include_once("libs/upload.inc");
if($edit) {
header("Expires: now");
include_once("libs/links.inc");
include_once("libs/classes/authManager.class");
unset($error);
$auth=new AuthManager($localuser);
if(!$auth->isLoggedIn()) $error="You are not logged in";
else if(!$auth->isSiteAccessible($site)) $error="You do not have permission to edit this page";
if($error) {
header("Location: $engine/site.php?error=".rawurlencode($error));
exit;
}
}
list($sec,$usec)=explode(microtime()," ");
mt_srand($sec*$usec);
function page_error($text,$title="Site does not exist",$ret="",$link="Try another site",$moretext="")
{
global $engine;
echo "
$title";
echo "";
echo "";
showlogo();
echo "$text
";
if(!strlen($ret)) $ret="$engine/index.php";
if($moretext) echo $moretext."
";
echo "$link";
echo "";
}
$query="SELECT * FROM sites WHERE site='$site'";
$result=mysql_query($query) or erroranddie();
if(!($thissite=mysql_fetch_array($result))) {
page_error("Sorry, that website does not exist.");
exit;
}
if(isset($edit)) {
$m=explode(":",$thissite['colmodel']);
$colmodel_subtype=$m[1];
include("collibs/".$m[0]."/col.inc");
unset($m);
}
if(!$page) $page=$thissite["home"];
if(!$page) {
page_error("Sorry, there is no home page set up.","No home page (".$thissite["name"].")");
exit;
}
$query="SELECT * FROM pages WHERE id='$page' AND site='$site'";
$result=mysql_query($query) or erroranddie();
if(!($thispage=mysql_fetch_object($result))) {
if($page==$thissite["home"]) {
page_error("Sorry, the home page set does not exist.","Invalid home page (".$thissite["name"].")");
exit;
} else {
page_error("Sorry, that page does not exist","Page missing (".$thissite["name"].")","$engine/page.php/$site/","Back to home page");
exit;
}
}
if(isset($stopedit)) unset($edit);
function askforpassword()
{
header("WWW-Authenticate: Basic realm=\"SurfYourOwn\"");
header("HTTP/1.0 401 Unauthorised");
exit;
}
// Control access
if(trim($thispage->access) && !isset($edit)) {
$ok=0;
if($PHP_AUTH_USER) {
$a=array_flip(explode(",",$thispage->access));
if(!isset($a[$PHP_AUTH_USER])) askforpassword();
$query="SELECT id FROM pageusers WHERE site='$site' AND user='".addslashes($PHP_AUTH_USER)."' AND pass='".addslashes($PHP_AUTH_PW)."'";
if($res=mysql_query($query)) {
if(mysql_num_rows($res)==0) askforpassword();
mysql_free_result($res);
}
} else {
askforpassword();
}
}
if(isset($editwhat) && is_array($editwhat)) {
$b=each($editwhat);
$cedit=$b[0];
}
if (isset($edit)) {
if(isset($addnew)) {
$query="INSERT INTO paragraphs SET pageid='$page'";
if($result=mysql_query($query)) {
$edit=mysql_insert_id();
move_para($edit,$addnew,1);
check_pos_valid($page);
} else {
error();
$edit=-1;
}
}
if(isset($addcopy)) {
$edit=$addcopy;
$query="SELECT * FROM paragraphs WHERE id='$addcopy'";
if($result=mysql_query($query)) {
// Generate query for copy
$query="INSERT INTO paragraphs SET pageid='$page'";
if($row=mysql_fetch_array($result,MYSQL_ASSOC)) {
while(list($key,$v)=each($row)) if($key!="pageid" && $key!="id") {
$query.=",$key='".addslashes($v)."'";
}
if($result=mysql_query($query)) {
$edit=mysql_insert_id();
move_para($edit,$addcopy,1);
check_pos_valid($page);
} else error("copy");
} else error("copy");
}
}
if(isset($swap)) {
swap($swap,$dir);
check_pos_valid($page);
}
if(isset($reallydelete)) {
$query="DELETE FROM paragraphs WHERE id='$edit'";
$result=mysql_query($query) or error();
$edit=-1;
}
if(isset($newpic)) {
if($destname=uploadfile("newpic",$site,1)) $row['image']=$destname;
}
if(isset($update) && $edit!=-1) {
// Munge some return parameters (mainly colours)
if(isset($resetbg)) $row['bgcolor']="";
if(isset($resettext)) $row['textcolor']="";
if(isset($resethead)) $row['headcolor']="";
if(isset($bgcolor_x)) $row['bgcolor']=XYtoRGB($bgcolor_x,$bgcolor_y);
if(isset($textcolor_x)) $row['textcolor']=XYtoRGB($textcolor_x,$textcolor_y);
if(isset($headcolor_x)) $row['headcolor']=XYtoRGB($headcolor_x,$headcolor_y);
if(isset($extlink)) {
$row['linkon']="";
if(is_array($linkon)) while(list($k,$n)=each($linkon)) $row['linkon'].=$k;
if($intlink) $row['linkto']=$intlink;
else {
if(strlen($extlink) && strtolower($extlink)!="http://") {
if(!strstr($extlink,":")) $extlink="http://".$extlink;
$row['linkto']="link:".$extlink;
} else {
unset($row['linkto']);
$row['linkon']="";
}
}
}
if($row['ondays']<=0) $row['ondays']=1;
if(isset($row['onday']) && $row['onday']>0 && $row['onmonth']>0) {
switch($row['onmonth']) {
case 2:
$m=28;
if($row['onyear']>0) {
if($row['onyear']%400==0) $m=29;
else if($row['onyear']%100!=0 && $row['onyear']%4==0) $m=29;
}
break;
case 4:
case 6:
case 9:
case 11:
$m=30;
break;
default:
$m=31;
break;
}
if($row['onday']>$m) $row['onday']=$m;
}
// Save paragraph settings
update_paragraph($edit,$row);
}
if(isset($imageurl) && $edit>0) {
$row['image']="link:$width:$height:$imageurl";
update_paragraph($edit,$row);
}
if(isset($updatepage) && $edit==-1) {
// Munge some return parameters (mainly colours)
$query="SELECT id FROM pages WHERE site='$site' AND title='".addslashes($row["title"])."' AND id!='$page'";
if($result=mysql_query($query)) {
if(mysql_num_rows($result)>0) $err="Each page must have a different title";
else {
if(isset($resetbg)) $row['bgcolor']="";
if(isset($resettext)) $row['textcolor']="";
if(isset($bgcolor_x)) $row['bgcolor']=XYtoRGB($bgcolor_x,$bgcolor_y);
if(isset($textcolor_x)) $row['textcolor']=XYtoRGB($textcolor_x,$textcolor_y);
// Save page settings
if(isset($imageurl)) $row['bgimage']="link:$width:$height:$imageurl";
update_page($page,$row);
}
}
// Update the current page too
if(isset($row)) {
while(list($key,$val)=each($row)) {
$thispage->$key=$val;
}
}
}
if(isset($updatefont) && $edit == -1) {
if (!$fc->getFont($_REQUEST['updatefont']))
$font = '';
else
$font = $_REQUEST['updatefont'];
$query = "UPDATE pages SET font='".addslashes($font)."' WHERE id='$page'";
mysql_query($query);
$thispage->font = $font;
}
if(isset($updatefonthead) && $edit == -1) {
if (!$fc->getFont($_REQUEST['updatefonthead']))
$font = '';
else
$font = $_REQUEST['updatefonthead'];
$query = "UPDATE pages SET fonthead='".addslashes($font)."' WHERE id='$page'";
mysql_query($query);
$thispage->fonthead = $font;
}
}
$bgcolor="ffffff";
$textcolor="000000";
$font = "";
$fonthead = "";
if($thissite["bgcolor"]) $bgcolor=$thissite["bgcolor"];
if($thissite["textcolor"]) $textcolor=$thissite["textcolor"];
if ($thissite["font"]) $font = $thissite["font"];
if ($thissite["fonthead"]) $fonthead = $thissite["fonthead"];
if($thispage->bgcolor) $bgcolor=$thispage->bgcolor;
if($thispage->textcolor) $textcolor=$thispage->textcolor;
if ($thispage->font) $font = $thispage->font;
if ($thispage->fonthead) $fonthead = $thispage->fonthead;
unset($bgimage);
if($thissite["bgimage"]) $bgimage=$thissite["bgimage"];
if($thispage->bgimage) $bgimage=$thispage->bgimage;
$buttonvalid=0;
if(file_exists("$DOCUMENT_ROOT$path_buttons/".$thissite["scheme"]."/button.inc")) {
include("$DOCUMENT_ROOT$path_buttons/".$thissite["scheme"]."/button.inc");
include("$DOCUMENT_ROOT$path_buttons/".$thissite["scheme"]."/def.inc");
$b=@unserialize($thissite["buttons"]);
if(is_array($b)) {
if(count($b)) $buttonvalid=1;
}
}
// Update hit counter
if(!isset($edit)) {
$query="UPDATE pages SET hits=hits+1 WHERE id='$page'";
mysql_query($query);
}
// ********************* Start of real page
// At this point we should have global information set up
echo "$thispage->title (".$thissite["name"].")";
if (isset($edit))
echo "\n";
echo "\n";
echo "\n";
echo "\n";
if($err) echo "$err
";
if($edit) {
echo "<<< Back to Site Management
";
}
if($buttonvalid && (!isset($edit) || $edit=="view")) {
$vert=button_vertical($thissite);
if($vert) echo "\n";
else echo "| ";
display_buttons($page,$thissite,$edit);
if($vert) echo " | \n";
else echo " | ";
}
?>
cellpadding= echo ($thissite["padding"]?$thissite["padding"]:0)?>>
if($edit=="view") unset($edit);
display_paragraphs($page,$site,$edit,$cedit);
?>
if($vert) echo " |
\n";
?>